package vistas;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.net.URL;

import javax.imageio.ImageIO;

import objetos.aeronaves.Algo42;
import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;
import ar.uba.fi.algo3.titiritero.vista.Figura;

/*
 * Vista del contador de vidas del Algo42. Se dibuja en la esquina inferior izquierda.
 */
public class VistaVidas extends Figura {
	private Algo42 actor;
	private int enX;
	private int enY;
	private Image imagenCorazon;
	private Font fuente;

	public VistaVidas(Algo42 actor) {
		this.actor = actor;
		this.enX = 2;
		this.enY = 630;
		this.imagenCorazon = obtenerImagenCorazon("../images/accesorios/corazon2.png");
		this.fuente = new Font("Tahoma", Font.BOLD, 15);
	}

	private Image obtenerImagenCorazon(String rutaImagen) {
		try {
			URL u = this.getClass().getResource(rutaImagen);
			return ImageIO.read(u);
		} catch (Exception ex) {
			return null;
		}
	}

	private void dibujarCorazon(SuperficieDeDibujo superficeDeDibujo) {
		Graphics graficoCorazon = (Graphics) superficeDeDibujo.getBuffer();
		graficoCorazon.drawImage(this.imagenCorazon, this.enX, this.enY - 17,
				null);
	}

	private void dibujarTextoVidas(SuperficieDeDibujo superficeDeDibujo) {
		String texto = "x" + String.valueOf(this.actor.getVidas());
		Graphics graficoTexto = (Graphics) superficeDeDibujo.getBuffer();
		graficoTexto.setFont(this.fuente);
		graficoTexto.setColor(Color.BLACK);
		graficoTexto.drawString(texto, this.enX + 24, this.enY + 1);
		graficoTexto.setColor(Color.WHITE);
		graficoTexto.drawString(texto, this.enX + 23, this.enY);
	}

	@Override
	public void dibujar(SuperficieDeDibujo superfice) {
		dibujarCorazon(superfice);
		dibujarTextoVidas(superfice);
	}

}
